package com.weng.coder.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.weng.framework.dao.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 表实体Bean
 *
 * @作者 wengzhonghui
 * @创建时间 2018-02-24 21:09:39
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("coder_table")
public class CodeTable extends BaseEntity<CodeTable> {

		@TableField(value="id")
		private String id;
    
    @TableField(value="CODE")
    private String code;
    
    @TableField(value="PROJECT_ID")
    private String projectId;

    @TableField(value="AREA")
    private String area;

    /**
     * 实体名称
     */
    @TableField(value="ENTITY_NAME")
    private String entityName;

		/**
		 * 表注释
		 */
    @TableField(value="REMARKS")
    private String remarks;

		/**
		 * 是否已设置
		 */
    @TableField(value="STATUS")
    private Integer status;

		/**
		 * 方法名生成方法级别代码时需要，如查询
		 */
		@TableField(value="METHOD_NAME")
		private String methodName;

		/**
		 * sql类型 create、 insert、update 、select、 drop
		 */
		@TableField(value="SQL_TYPE")
		private String sqlType;

	/**
	 * 方法类型create、list、page、insert、update、delete
	 */
	@TableField(value="METHOD_TYPE")
	private String methodType;

	/**
	 * sql内容
	 */
	@TableField(value="SQL_CONTENT")
	private String sqlContent;

	/**
	 * 创建时间
	 */
	@TableField(value="create_time",fill = FieldFill.INSERT, strategy = FieldStrategy.NOT_EMPTY)
	private Date createTime;


	/**
	 * 更新时间
	 */
	@TableField(value="update_time" ,fill = FieldFill.INSERT_UPDATE,strategy= FieldStrategy.NOT_EMPTY)
	private Date updateTime;

	   @TableField(exist=false)
		private List<Field> fieldList;

		@TableField(exist=false)
		private List<CoderCondition> conditionList;

}
